home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Dev / Bgui / AutoDoc / frameclass.doc < prev    next >
Encoding:
Text File  |  2000-05-09  |  11.0 KB  |  506 lines

  1. TABLE OF CONTENTS
  2.  
  3. frameclass/--background--
  4. frameclass/FRM_BackFill
  5. frameclass/FRM_CenterTitle
  6. frameclass/FRM_CustomHook:FRM_BackFillHook
  7. frameclass/FRM_EdgesOnly
  8. frameclass/FRM_Flags
  9. frameclass/FRM_FrameHeight
  10. frameclass/FRM_FrameWidth
  11. frameclass/FRM_HighlightTitle
  12. frameclass/FRM_Recessed
  13. frameclass/FRM_Template
  14. frameclass/FRM_TextAttr
  15. frameclass/FRM_ThinFrame
  16. frameclass/FRM_Title
  17. frameclass/FRM_TitleID
  18. frameclass/FRM_TitleLeft
  19. frameclass/FRM_TitleRight
  20. frameclass/FRM_Type
  21. frameclass/FRM_[#?]Pen
  22.  
  23. frameclass/--background--
  24.  
  25.     NAME
  26.     Class:        frameclass
  27.     Superclass:    IMAGECLASS
  28.     Include File:    <libraries/bgui.h>
  29.  
  30.     FUNCTION
  31.     To  provide   a   general   framing  image.  It  has a set of built-in
  32.     framing  and  background  types  and  the  possibility    to  add  hooks
  33.     for custom frames and backgrounds.
  34.  
  35. frameclass/FRM_BackFill
  36.  
  37.     NAME
  38.     FRM_BackFill -- ( ULONG )
  39.  
  40.     FUNCTION
  41.     Set or get the built-in background type to use.  You can select any of
  42.     the following types:
  43.  
  44.     STANDARD_FILL -- Normal fill as you  would  expect  from the  selected
  45.         frame type.
  46.  
  47.     SHINE_RASTER -- A raster with the SHINEPEN and BACKGROUNDPEN.
  48.  
  49.     SHADOW_RASTER -- A raster with the SHADOWPEN and BACKGROUNDPEN.
  50.  
  51.     SHINE_SHADOW_RASTER -- A raster with the SHINEPEN and SHADOWPEN.
  52.  
  53.     FILL_RASTER -- A raster with the FILLPEN and BACKGROUNDPEN.
  54.  
  55.     SHINE_FILL_RASTER -- A rster with the SHINEPEN and FILLPEN.
  56.  
  57.     SHADOW_FILL_RASTER -- A raster with the SHADOWPEN and FILLPEN.
  58.  
  59.     SHINE_BLOCK -- A SHINEPEN fill.
  60.  
  61.     SHADOWBLOCK -- A SHADOWPEN fill.
  62.  
  63.     Please    note  that  setting any of the above backfill types except for
  64.     STANDARD_FILL will override the FRM_BackFillHook.
  65.  
  66.     DEFAULT
  67.     STANDARD_FILL.
  68.  
  69.     APPLICABILITY
  70.     (ISG).
  71.  
  72.     SEE ALSO
  73.     <intuition/screens.h>, FRM_BackFillHook
  74.  
  75. frameclass/FRM_CenterTitle
  76.  
  77.     NAME
  78.     FRM_CenterTitle - ( BOOL )
  79.  
  80.     FUNCTION
  81.     Set or clear the FRF_CENTER_TITLE flag.
  82.  
  83.     DEFAULT
  84.     FALSE.
  85.  
  86.     APPLICABILITY
  87.     (ISG).
  88.  
  89.     SEE ALSO
  90.     FRM_Flags
  91.  
  92. frameclass/FRM_CustomHook:FRM_BackFillHook
  93.  
  94.     NAME
  95.     FRM_CustomHook, FRM_BackFillHook -- ( struct Hook * )
  96.  
  97.     FUNCTION
  98.     Set or get custom framing and/or backfilling hooks.  These  hooks  are
  99.     called as follows:
  100.  
  101.     rc = hookFunc( hook, object, message );
  102.     D0           A0    A2      A1
  103.  
  104.     The  message  packet  can  be  a  pointer  to  any  of    the  following
  105.     structures:
  106.  
  107.     struct FrameDrawMsg {
  108.         ULONG          fdm_MethodID; /* FRM_RENDER */
  109.         struct RastPort  *fdm_RPort;
  110.         struct DrawInfo  *fdm_DrawInfo;
  111.         struct Rectangle *fdm_Bounds;
  112.         UWORD          fdm_State;
  113.         UBYTE             fdm_Horizontal;    /* V41 */
  114.         UBYTE             fdm_Vertical;        /* V41 */
  115.         ULONG             fdm_Flags;        /* V41 */
  116.  
  117.     };
  118.  
  119.     fdm_RPort -- This points to the RastPort in which the frame/background
  120.         must be rendered.
  121.  
  122.     fdm_DrawInfo --  This  points  to  a  DrawInfo structure as defined in
  123.         <intuition/screens.h>
  124.  
  125.     fdm_Bounds -- This points to a Rectangle structure in which the bounds
  126.         of the frame/background are stored.
  127.  
  128.     fdm_State -- This holds the state in which you should render the frame
  129.         or background.    Please    refer  to <intuition/imageclass.h> for
  130.         more information about rendering styles.
  131.         
  132.     fdm_Horizontal, fdm_Vertical -- The vertical or horizontal thickness
  133.         of the frame.  If zero, use default for that value.  If you do
  134.         not wish to support custom frame thickness, ignore these.
  135.         
  136.     fdm_Flags -- A copy of the flags for this frame; you may use this to
  137.         know if FRF_THIN_FRAME is set for the frame.
  138.  
  139.     The  FrameDrawMsg  is  sent to both the custom and backfill hooks when
  140.     they must render.
  141.  
  142.     struct ThicknessMsg {
  143.         ULONG          tm_MethodID; /* FRM_THICKNESS */
  144.         struct {
  145.             UBYTE     *Horizontal;
  146.             UBYTE     *Vertical;
  147.         }          tm_Thickness;
  148.         BOOL          tm_Thin;
  149.     };
  150.  
  151.     tm_Thickness -- In  this  field  you  must store the thickness    of the
  152.         frame lines. The thickness requested is the width in pixels of
  153.         the left OR right border (Horizontal) and the height in pixels
  154.         of the top OR bottom border (Vertical).
  155.  
  156.     tm_Thin -- This field is added in V38 of the library.  Do  not attempt
  157.         to read it with lower versions of the  library!  When  set  to
  158.         TRUE you must give the thickness of  the frame    when it  is in
  159.         thin (FRM_ThinFrame) mode.
  160.  
  161.     The ThicknessMsg is only sent to the custom frame hook.
  162.  
  163.     The hook routines must return any of the following return codes:
  164.  
  165.     FRC_OK -- OK. Message understood and executed.
  166.  
  167.     FRC_UNKNOWN -- Message not understood. The class will default in  this
  168.         case.
  169.  
  170.     DEFAULTS
  171.     NULL.
  172.  
  173.     APPLICABILITY
  174.     (ISG)
  175.  
  176.     SEE ALSO
  177.     <intuition/screens.h>, <intuition/imageclass.h>
  178.  
  179. frameclass/FRM_EdgesOnly
  180.  
  181.     NAME
  182.     FRM_EdgesOnly -- ( BOOL )
  183.  
  184.     FUNCTION
  185.     Set or clear the FRF_EDGES_ONLY flags.
  186.  
  187.     DEFAULT
  188.     FALSE.
  189.  
  190.     APPLICABILITY
  191.     (ISG).
  192.  
  193.     SEE ALSO
  194.     FRM_Flags
  195.  
  196. frameclass/FRM_Flags
  197.  
  198.     NAME
  199.     FRM_Flags -- ( ULONG )
  200.  
  201.     FUNCTION
  202.     To initialize any of the following flags:
  203.  
  204.     FRF_EDGES_ONLY -- Only the frame border is  rendered when this flag is
  205.         set.  The background isn't touched.
  206.  
  207.     FRF_RECESSED -- Normally the frame is raised.  With  this flag set the
  208.         frame is recessed by default.
  209.  
  210.     FRF_CENTER_TITLE -- Normally the frame title is rendered with the text
  211.         baseline on the top border of the frame. When this flag is set
  212.         the title is cenetered on the top border of the frame.
  213.  
  214.     FRF_HIGHLIGHT_TITLE -- Normally the frame title is  rendered  with the
  215.         TEXTPEN. When this flag is set the title is rendered using the
  216.         HIGHLIGHTTEXTPEN.
  217.  
  218.     FRF_THIN_FRAME -- This    flag, when set,  will  halve  the  size of the
  219.         vertical borders of the frame.    This  looks  a    lot  better on
  220.         screens width a 1:1 aspect ratio.
  221.  
  222.     FRF_TITLE_LEFT ** V40 ** -- This flag, when  set,  will make the frame
  223.         title stick to the left side of the frame.
  224.  
  225.     FRF_TITLE_RIGHT ** V40 ** -- This flag, when  set, will make the frame
  226.         title stick to the right side of the frame.
  227.  
  228.     DEFAULT
  229.     0.
  230.  
  231.     APPLICABILITY
  232.     (ISG).
  233.  
  234.     SEE ALSO
  235.     <intuition/screens.h>,      FRM_Title,    FRM_EdgesOnly,     FRM_Recessed,
  236.     FRM_CenterTitle, FRM_HighlightTitle, FRM_ThinFrame
  237.  
  238. frameclass/FRM_FrameHeight
  239.  
  240.     NAME
  241.     FRM_FrameHeight -- ( UBYTE )
  242.  
  243.     FUNCTION
  244.     Set or get the height in pixels of the top or bottom frame border.
  245.     Not all frame types support variable frame thickness.
  246.  
  247.     APPLICABILITY
  248.     (ISG).
  249.  
  250.     SEE ALSO
  251.     FRM_FrameWidth
  252.  
  253. frameclass/FRM_FrameWidth
  254.  
  255.     NAME
  256.     FRM_FrameWidth -- ( UBYTE )
  257.  
  258.     FUNCTION
  259.     Set or get the width in pixels of the left or right frame border.
  260.     Not all frame types support variable frame thickness.
  261.  
  262.     APPLICABILITY
  263.     (ISG).
  264.  
  265.     SEE ALSO
  266.     FRM_FrameHeight
  267.  
  268. frameclass/FRM_HighlightTitle
  269.  
  270.     NAME
  271.     FRM_HighlightTitle -- ( BOOL )
  272.  
  273.     FUNCTION
  274.     Set or clear the FRF_HIGHLIGHT_TITLE flag.
  275.  
  276.     DEFAULT
  277.     FALSE.
  278.  
  279.     APPLICABILITY
  280.     (ISG).
  281.  
  282.     SEE ALSO
  283.     FRM_Flags
  284.  
  285. frameclass/FRM_Recessed
  286.  
  287.     NAME
  288.     FRM_Recessed -- ( BOOL )
  289.  
  290.     FUNCTION
  291.     Set or clear the FRF_RECESSED flag.
  292.  
  293.     DEFAULT
  294.     FALSE.
  295.  
  296.     APPLICABILITY
  297.     (ISG).
  298.  
  299.     SEE ALSO
  300.     FRM_Flags
  301.  
  302. frameclass/FRM_Template
  303.  
  304.     NAME
  305.     FRM_Template -- ( Object * )
  306.  
  307.     FUNCTION
  308.     Copy all of the attributes of one frameclass object to another frameclass
  309.     object.  This allows for fast duplication of many frame attributes at one
  310.     time.  You may free the template object afterwards.
  311.     
  312.     DEFAULT
  313.     NULL.
  314.  
  315.     APPLICABILITY
  316.     (IS)
  317.  
  318.     SEE ALSO
  319.  
  320.  
  321. frameclass/FRM_TextAttr
  322.  
  323.     NAME
  324.     FRM_TextAttr -- ( struct TextAttr * )
  325.  
  326.     FUNCTION
  327.     Set  or  get  the  font that is used to render the frame title. Please
  328.     note  that  this font is opened width OpenFont() and must be available
  329.     in memory.
  330.  
  331.     DEFAULT
  332.     NULL.
  333.  
  334.     APPLICABILITY
  335.     (ISG)
  336.  
  337.     SEE ALSO
  338.     FRM_Title
  339.  
  340. frameclass/FRM_ThinFrame
  341.  
  342.     NAME
  343.     FRM_ThinFrame -- ( BOOL )
  344.  
  345.     FUNCTION
  346.     Set or clear the FRF_THIN_FRAME flag.
  347.  
  348.     DEFAULT
  349.     FALSE.
  350.  
  351.     APPLICABILITY
  352.     (ISG).
  353.  
  354.     SEE ALSO
  355.     FRM_Flags
  356.  
  357. frameclass/FRM_Title
  358.  
  359.     NAME
  360.     FRM_Title -- ( STRPTR )
  361.  
  362.     FUNCTION
  363.     Set or get the frame title.  Each frame can have a title in its top border.
  364.     This title can contain infoclass command sequences.
  365.  
  366.     DEFAULT
  367.     NULL.
  368.  
  369.     APPLICABILITY
  370.     (ISG).
  371.  
  372.     SEE ALSO
  373.     FRM_TitleID, FRM_TextAttr, infoclass.doc/INFO_TextFormat
  374.  
  375. frameclass/FRM_TitleID
  376.  
  377.     NAME
  378.     FRM_TitleID -- ( ULONG ) ** V41 **
  379.  
  380.     FUNCTION
  381.     Set or get the ID for FRM_Title.  BASE_LOCALIZE uses this to set FRM_Title.
  382.  
  383.     DEFAULT
  384.     0.
  385.  
  386.     APPLICABILITY
  387.     (ISG).
  388.  
  389.     SEE ALSO
  390.     FRM_Title, baseclass.doc/BASE_LOCALIZE
  391.  
  392. frameclass/FRM_TitleLeft
  393.  
  394.     NAME
  395.     FRM_TitleLeft -- ( BOOL ) ** V40 **
  396.  
  397.     FUNCTION
  398.     To  make  the  frame  title  appear and remain on the left side of the
  399.     frame instead of centering it.
  400.  
  401.     DEFAULT
  402.     FALSE.
  403.  
  404.     APPLICABILITY
  405.     (ISG).
  406.  
  407.     SEE ALSO
  408.     FRM_TitleRight
  409.  
  410. frameclass/FRM_TitleRight
  411.  
  412.     NAME
  413.     FRM_TitleRight -- ( BOOL ) ** V40 **
  414.  
  415.     FUNCTION
  416.     To  make  the frame  title  appear and remain on the right side of the
  417.     frame instead of centering it.
  418.  
  419.     DEFAULT
  420.     FALSE.
  421.  
  422.     APPLICABILITY
  423.     (ISG).
  424.  
  425.     SEE ALSO
  426.     FRM_TitleLeft
  427.  
  428. frameclass/FRM_Type
  429.  
  430.     NAME
  431.     FRM_Type - ( ULONG )
  432.  
  433.     FUNCTION
  434.     Set  or  get  the  type of the used framing. You can select any of the
  435.     following types:
  436.  
  437.     FRTYPE_CUSTOM --  This is a custom framing type which is automatically
  438.         set when you supply a framing hook.
  439.  
  440.     FRTYPE_BUTTON -- Standard button gadget frame.  Normal bevel.
  441.  
  442.     FRTYPE_RIDGE -- Standard string gadget frame.  Outer 1/2 normal bevel,
  443.         inner 1/2 reverse bevel.
  444.  
  445.     FRTYPE_DROPBOX -- Standard icon-dropbox frame.  Outer 1/3 normal bevel,
  446.         middle 1/3 background, inner 1/3 reverse bevel.
  447.  
  448.     FRTYPE_NEXT -- Standard NeXT frame.  Outer 1/2 reverse bevel, inner 1/2
  449.         normal bevel (basically a recessed string gadget frame).
  450.  
  451.     FRTYPE_RADIOBUTTON -- Standard MX gadget frame.
  452.  
  453.     FRTYPE_XEN_BUTTON -- XEN style button frame.
  454.  
  455.     FRTYPE_TAB_ABOVE, FRTYPE_TAB_BELOW -- ** V40 ** Two  frame types which
  456.         are a normal button frame without the top or bottom.   Usually
  457.         this is only used with pages and a tabs object.
  458.  
  459.     FRTYPE_BORDER -- ** V40 ** A frame  type  which  is  best  suited  for
  460.         objects  inside  window borders.   It  is a button style frame
  461.         which always has thin lines.
  462.  
  463.     FRTYPE_NONE -- ** V40 ** No frame is rendered  but  all  features like
  464.         backfill hooks, titles etc. are available.
  465.     
  466.     FRTYPE_FUZZ_BUTTON -- ** V41 ** Outer 1/4 normal bevel, inner 3/4 normal
  467.         bevel rastered 50% with frame.
  468.  
  469.     DEFAULT
  470.     FRTYPE_BUTTON.
  471.  
  472.     APPLICABILITY
  473.     (ISG).
  474.  
  475.     SEE ALSO
  476.     FRM_CustomHook
  477.  
  478. frameclass/FRM_[#?]Pen
  479.  
  480.    NAME
  481.     FRM_BackPen            : FRM_BackDriPen,        ** V39 **
  482.     FRM_BackRasterPen        : FRM_BackRasterDriPen,        ** V41 **
  483.     FRM_SelectedBackPen        : FRM_SelectedBackDriPen,    ** V39 **
  484.     FRM_SelectedBackRasterPen    : FRM_SelectedBackRasterDriPen    ** V41 **
  485.          -- ( UWORD )
  486.  
  487.    FUNCTION
  488.        To specify the background colors of a frame.  Each pen may be specified
  489.        as a Pen or DrawInfo pen, these are mutually exclusive.
  490.  
  491.     The frame may be one color, FRM_#?Back(Dri)Pen, or two colors, with the
  492.     second pen specified as FRM_#?BackRaster(Dri)Pen.
  493.  
  494.     Finally, you can specify two states:  the backfill of the frame in a normal
  495.     unselected state and the background fill of the frame in a selected state.
  496.  
  497.     Specifying ~0 (-1) for the pens will deactivate the backfill and
  498.     the class will fall back to the default coloring sceme.
  499.  
  500.     DEFAULTS
  501.     ~0.
  502.  
  503.     APPLICABILITY
  504.     (ISG).
  505.  
  506.